#include <stdio.h>


int main()
{
#if 0
    for(int i = 0; i < 3; i++)  //外循环定义了行数
    {
        for(int j = 0; j < 4; j++)  //内循环定义了列数
        {
            printf("%d ",j);
        }
        printf("\n");
    }
#endif

#if 0
/*
    打印：
        *   1   1
       ***  2   3   (2*n-1)
      ***** 3   5
*/
    for(int i = 1; i <= 3; i++)
    {
        for(int k = 0; k < 3 - i; k++)
        {
            printf(" ");
        }

        for(int j = 0; j < 2 * i - 1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
#endif

#if 0
/*
    打印：
        *
       ***
      *****
       ***  1   3   2*(3-n)-1
        *   2   1
*/
    for(int i = 1; i <= 3; i++)
    {
        for(int k = 0; k < 3 - i; k++)
        {
            printf(" ");
        }

        for(int j = 0; j < 2 * i - 1; j++)
        {
            printf("*");
        }
        printf("\n");
    }

    for(int i = 1; i <= 2; i++)
    {
        for(int k = 0; k < i ; k++)
        {
            printf(" ");
        }

        for(int j = 0; j < 2 * (3 - i) - 1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
#endif
    
#if 1
    //打印任意行菱形
    int row = 7;
    for(int i = 1; i <= row / 2 + 1; i++)
    {
        for(int k = 0; k < row / 2 + 1 - i; k++)
        {
            printf(" ");
        }

        for(int j = 0; j < 2 * i - 1; j++)
        {
            printf("*");
        }
        printf("\n");
    }

    for(int i = 1; i <= row /2; i++)
    {
        for(int k = 0; k < i ; k++)
        {
            printf(" ");
        }

        for(int j = 0; j < 2 * (row / 2 + 1 - i) - 1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
#endif



    return 0;
}


